草庐IT

MySQL LIMIT 和 GROUP BY 与 JOIN

全部标签

python - Pandas Groupby Agg 函数中的列顺序

是否有自动维护返回数据框的列(“C”、“B”、“A”)顺序的方法?g=df.groupby(['people'])g['people'].agg({'C':len,'B':len,'A':len,})这将返回列A、B、C而不是C、B、A。我只能找到示例,但找不到agg函数本身的文档。这似乎是一种解决方法:g=df.groupby(['people'])g['people'].agg({'C':len,'B':len,'A':len,}).reindex_axis(['C','B','A'],axis=1) 最佳答案 OrderedD

python - 使 Pandas groupby 的行为类似于 itertools groupby

假设我有一个像这样的列表的Python字典:{'Grp':['2','6','6','5','5','6','6','7','7','6'],'Nums':['6.20','6.30','6.80','6.45','6.55','6.35','6.37','6.36','6.78','6.33']}我可以使用itertools.groupby轻松对数字和分组键进行分组:fromitertoolsimportgroupbyfork,lingroupby(zip(di['Grp'],di['Nums']),key=lambdat:t[0]):printk,[t[1]fortinl]打印:2

python - Pandas 将列添加到 groupby 数据框

我有这个简单的数据框df:df=pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})我的目标是计算每个c的type值,然后添加一个大小为c的列。所以开始:In[27]:g=df.groupby('c')['type'].value_counts().reset_index(name='t')In[28]:gOut[28]:ctypet01m111n121o132m242n2第一个问题解决了。那么我也可以:In[29]:a=df.groupby('c').size().reset_index(na

python - Pandas groupby 和聚合输出应包括所有原始列(包括未聚合的列)

我有以下数据框并想要:按月份对记录进行分组>每个唯一UPC_ID的QTY_SOLD和NET_AMT总和(每月)在生成的数据框中也包含其余列我认为我可以做到这一点的方法是第1:创建一个month列来聚合D_DATES,然后将QTY_SOLD加总UPC_ID。脚本:#Convertdatetodatetimeobjectdf['D_DATE']=pd.to_datetime(df['D_DATE'])#Createaggregatedmonthscolumndf['month']=df['D_DATE'].apply(dt.date.strftime,args=('%Y.%m',))#Gr

python - 如何从 Pandas 中的groupby对象中选择列?

我按以下两列对我的数据框进行了分组df=pd.DataFrame({'a':[1,1,3],'b':[4.0,5.5,6.0],'c':[7L,8L,9L],'name':['hello','hello','foo']})df.groupby(['a','name']).median()结果是:bcaname1hello4.757.53foo6.009.0如何访问结果中位数的name字段(在本例中为hello,foo)?这失败了:df.groupby(['a','name']).median().name 最佳答案 在groupby

python - Pandas Groupby : Count and mean combined

使用pandas尝试将数据框总结为特定类别的计数,以及这些类别的平均情绪分数。有一个充满具有不同情绪分数的字符串的表格,我想通过说明他们有多少帖子以及这些帖子的平均情绪来对每个文本源进行分组。我的(简化的)数据框如下所示:sourcetextsent--------------------------------barsomestring0.13fooaltstring-0.8baranotherstr0.7foosometext-0.2foomoretext-0.5输出应该是这样的:sourcecountmean_sent-----------------------------fo

python - 在 pandas groupby 之后删除一个组

是否可以从pandas的groupby对象中删除一个组(按组名)?即执行groupby后,根据名称删除结果组。 最佳答案 分组过滤DataFrame是discussed.future发布的pandas可能包括amoreconvenientwaytodoit.但目前,这是我认为最简洁的方法来按名称过滤GroupBy对象grouped并返回剩余组的DataFrame。df.drop(grouped.get_group(group_name).index)这里是从上面的链接派生的更通用的方法:df[grouped[0].transform

python - Pandas :GroupBy .pipe() 与 .apply()

在pandasdocumentation的示例中关于GroupBy对象的新.pipe()方法,接受相同lambda的.apply()方法将返回相同的结果。In[195]:importnumpyasnpIn[196]:n=1000In[197]:df=pd.DataFrame({'Store':np.random.choice(['Store_1','Store_2'],n),.....:'Product':np.random.choice(['Product_1','Product_2','Product_3'],n),.....:'Revenue':(np.random.random

python - pandas:groupby 和聚合而不会丢失分组的列

我有一个pandas数据框,如下所示。对于每个ID,我可以有多个名称和子ID。IdNAMESUB_ID276956A5933276956B5934276956C5935287266D1589我想压缩数据框,使每个id只有一行,每个id下的所有名称和sub_id在该行上显示为单个集合IdNAMESUB_ID276956set(A,B,C)set(5933,5934,5935)287266set(D)set(1589)我尝试按id分组,然后聚合所有其他列df.groupby('Id').agg(lambdax:set(x))但是在这样做时生成的数据框没有Id列。当您执行groupby时,i

Python 生成器对象和 .join

关于python和.join()方法的基本问题:file1=open(f1,"r")file2=open(f2,"r")file3=open("results","w")diff=difflib.Differ()result=diff.compare(file1.read(),file2.read())file3.write("".join(result)),上面的代码片段产生了一个很好的输出,以字符串格式存储在一个名为“results”的文件中,逐行显示了两个文件之间的差异。但是我注意到,如果我只是使用.join()打印“结果”而不,编译器会返回一条包含内存地址的消息。在尝试使用.j